package com.alex.wechat.component.account.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Title: Entity
 * @Description: 第三方平台账户
 * @author onlineGenerator
 * @date 2017-05-25 12:00:31
 * @version V1.0
 *
 */
@Entity
@Table(name = "wx_component_account", schema = "")
@SuppressWarnings("serial")
@javax.xml.bind.annotation.XmlRootElement
public class WxComponentAccountEntity implements java.io.Serializable {
  /** 主键 */
  private java.lang.String id;
  /** 创建人名称 */
  private java.lang.String createName;
  /** 创建人登录名称 */
  private java.lang.String createBy;
  /** 创建日期 */
  private java.util.Date createDate;
  /** 更新人名称 */
  private java.lang.String updateName;
  /** 更新人登录名称 */
  private java.lang.String updateBy;
  /** 更新日期 */
  private java.util.Date updateDate;
  /** 所属部门 */
  private java.lang.String sysOrgCode;
  /** 所属公司 */
  private java.lang.String sysCompanyCode;
  /** AppId */
  @Excel(name = "AppId")
  private java.lang.String appId;
  /** AppSecret */
  @Excel(name = "AppSecret")
  private java.lang.String appSecret;
  /** 名称 */
  @Excel(name = "名称")
  private java.lang.String name;
  /** 验证凭据 */
  private java.lang.String verifyTicket;
  /** 接口调用凭据 */
  private java.lang.String accessToken;
  /** 接口调用凭据有效期 */
  private java.lang.Long accessTokenExpiresIn;
  /** 预授权码 */
  private java.lang.String preAuthCode;
  /** 预授权码有效期 */
  private java.lang.Long preAuthCodeExpiresIn;
  /** 域名 */
  @Excel(name = "域名")
  private java.lang.String domain;
  /** 消息推送令牌 */
  @Excel(name = "消息推送令牌")
  private java.lang.String token;
  /** 消息加密秘钥 */
  @Excel(name = "消息加密秘钥")
  private java.lang.String aesKey;

  /** 是否为当前账户 */
  @Excel(name = "是否为当前再用账户")
  private java.lang.Boolean isCurrentAccount;

  /** 是否为当前账户 */
  @Excel(name = "当前小程序appId")
  private java.lang.String currentAppId;

  /**
   * 方法: 取得主键
   * 
   * @return 主键
   */
  @Id
  @GeneratedValue(generator = "paymentableGenerator")
  @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
  @Column(name = "ID", nullable = false, length = 36)
  public java.lang.String getId() {
    return this.id;
  }

  /**
   * 方法: 设置主键
   *
   * @param id
   *          主键
   */
  public void setId(java.lang.String id) {
    this.id = id;
  }

  /**
   * 方法: 取得创建人名称
   * 
   * @return 创建人名称
   */
  @Column(name = "CREATE_NAME", nullable = true, length = 50)
  public java.lang.String getCreateName() {
    return this.createName;
  }

  /**
   * 方法: 设置创建人名称
   *
   * @param createName
   *          创建人名称
   */
  public void setCreateName(java.lang.String createName) {
    this.createName = createName;
  }

  /**
   * 方法: 取得创建人登录名称
   * 
   * @return 创建人登录名称
   */
  @Column(name = "CREATE_BY", nullable = true, length = 50)
  public java.lang.String getCreateBy() {
    return this.createBy;
  }

  /**
   * 方法: 设置创建人登录名称
   *
   * @param createBy
   *          创建人登录名称
   */
  public void setCreateBy(java.lang.String createBy) {
    this.createBy = createBy;
  }

  /**
   * 方法: 取得创建日期
   * 
   * @return 创建日期
   */
  @Column(name = "CREATE_DATE", nullable = true, length = 20)
  public java.util.Date getCreateDate() {
    return this.createDate;
  }

  /**
   * 方法: 设置创建日期
   *
   * @param createDate
   *          创建日期
   */
  public void setCreateDate(java.util.Date createDate) {
    this.createDate = createDate;
  }

  /**
   * 方法: 取得更新人名称
   * 
   * @return 更新人名称
   */
  @Column(name = "UPDATE_NAME", nullable = true, length = 50)
  public java.lang.String getUpdateName() {
    return this.updateName;
  }

  /**
   * 方法: 设置更新人名称
   *
   * @param updateName
   *          更新人名称
   */
  public void setUpdateName(java.lang.String updateName) {
    this.updateName = updateName;
  }

  /**
   * 方法: 取得更新人登录名称
   * 
   * @return 更新人登录名称
   */
  @Column(name = "UPDATE_BY", nullable = true, length = 50)
  public java.lang.String getUpdateBy() {
    return this.updateBy;
  }

  /**
   * 方法: 设置更新人登录名称
   *
   * @param updateBy
   *          更新人登录名称
   */
  public void setUpdateBy(java.lang.String updateBy) {
    this.updateBy = updateBy;
  }

  /**
   * 方法: 取得更新日期
   * 
   * @return 更新日期
   */
  @Column(name = "UPDATE_DATE", nullable = true, length = 20)
  public java.util.Date getUpdateDate() {
    return this.updateDate;
  }

  /**
   * 方法: 设置更新日期
   *
   * @param updateDate
   *          更新日期
   */
  public void setUpdateDate(java.util.Date updateDate) {
    this.updateDate = updateDate;
  }

  /**
   * 方法: 取得所属部门
   * 
   * @return 所属部门
   */
  @Column(name = "SYS_ORG_CODE", nullable = true, length = 50)
  public java.lang.String getSysOrgCode() {
    return this.sysOrgCode;
  }

  /**
   * 方法: 设置所属部门
   *
   * @param sysOrgCode
   *          所属部门
   */
  public void setSysOrgCode(java.lang.String sysOrgCode) {
    this.sysOrgCode = sysOrgCode;
  }

  /**
   * 方法: 取得所属公司
   * 
   * @return 所属公司
   */
  @Column(name = "SYS_COMPANY_CODE", nullable = true, length = 50)
  public java.lang.String getSysCompanyCode() {
    return this.sysCompanyCode;
  }

  /**
   * 方法: 设置所属公司
   *
   * @param sysCompanyCode
   *          所属公司
   */
  public void setSysCompanyCode(java.lang.String sysCompanyCode) {
    this.sysCompanyCode = sysCompanyCode;
  }

  /**
   * 方法: 取得AppId
   * 
   * @return AppId
   */
  @Column(name = "APP_ID", nullable = true, length = 32)
  public java.lang.String getAppId() {
    return this.appId;
  }

  /**
   * 方法: 设置AppId
   *
   * @param appId
   *          AppId
   */
  public void setAppId(java.lang.String appId) {
    this.appId = appId;
  }

  /**
   * 方法: 取得AppSecret
   * 
   * @return AppSecret
   */
  @Column(name = "APP_SECRET", nullable = true, length = 100)
  public java.lang.String getAppSecret() {
    return this.appSecret;
  }

  /**
   * 方法: 设置AppSecret
   *
   * @param appSecret
   *          AppSecret
   */
  public void setAppSecret(java.lang.String appSecret) {
    this.appSecret = appSecret;
  }

  /**
   * 方法: 取得名称
   * 
   * @return 名称
   */
  @Column(name = "NAME", nullable = true, length = 150)
  public java.lang.String getName() {
    return this.name;
  }

  /**
   * 方法: 设置名称
   *
   * @param name
   *          名称
   */
  public void setName(java.lang.String name) {
    this.name = name;
  }

  /**
   * 方法: 取得验证凭据
   * 
   * @return 验证凭据
   */
  @Column(name = "VERIFY_TICKET", nullable = true, length = 150)
  public java.lang.String getVerifyTicket() {
    return this.verifyTicket;
  }

  /**
   * 方法: 设置验证凭据
   *
   * @param verifyTicket
   *          验证凭据
   */
  public void setVerifyTicket(java.lang.String verifyTicket) {
    this.verifyTicket = verifyTicket;
  }

  /**
   * 方法: 取得接口调用凭据
   * 
   * @return 接口调用凭据
   */
  @Column(name = "ACCESS_TOKEN", nullable = true, length = 150)
  public java.lang.String getAccessToken() {
    return this.accessToken;
  }

  /**
   * 方法: 设置接口调用凭据
   *
   * @param accessToken
   *          接口调用凭据
   */
  public void setAccessToken(java.lang.String accessToken) {
    this.accessToken = accessToken;
  }

  /**
   * 方法: 取得接口调用凭据有效期
   * 
   * @return 接口调用凭据有效期
   */
  @Column(name = "ACCESS_TOKEN_EXPIRES_IN")
  public java.lang.Long getAccessTokenExpiresIn() {
    return this.accessTokenExpiresIn;
  }

  /**
   * 方法: 设置接口调用凭据有效期
   *
   * @param accessTokenExpiresIn
   *          接口调用凭据有效期
   */
  public void setAccessTokenExpiresIn(java.lang.Long accessTokenExpiresIn) {
    this.accessTokenExpiresIn = accessTokenExpiresIn;
  }

  /**
   * 方法: 取得预授权码
   * 
   * @return 预授权码
   */
  @Column(name = "PRE_AUTH_CODE ", nullable = true, length = 150)
  public java.lang.String getPreAuthCode() {
    return this.preAuthCode;
  }

  /**
   * 方法: 设置预授权码
   *
   * @param preAuthCode
   *          预授权码
   */
  public void setPreAuthCode(java.lang.String preAuthCode) {
    this.preAuthCode = preAuthCode;
  }

  /**
   * 方法: 取得预授权码有效期
   * 
   * @return 预授权码有效期
   */
  @Column(name = "PRE_AUTH_CODE_EXPIRES_IN")
  public java.lang.Long getPreAuthCodeExpiresIn() {
    return this.preAuthCodeExpiresIn;
  }

  /**
   * 方法: 设置预授权码有效期
   *
   * @param preAuthCodeExpiresIn
   *          预授权码有效期
   */
  public void setPreAuthCodeExpiresIn(java.lang.Long preAuthCodeExpiresIn) {
    this.preAuthCodeExpiresIn = preAuthCodeExpiresIn;
  }

  /**
   * 方法: 取得域名
   * 
   * @deprecated 请使用全局配置 domain
   * @return 域名
   */
  @Column(name = "DOMAIN", nullable = true, length = 50)
  public java.lang.String getDomain() {
    return this.domain;
  }

  /**
   * 方法: 设置域名
   *
   * @param domain
   *          域名
   */
  public void setDomain(java.lang.String domain) {
    this.domain = domain;
  }

  /**
   * 方法: 取得消息推送令牌
   * 
   * @return 消息推送令牌
   */
  @Column(name = "TOKEN", nullable = true, length = 100)
  public java.lang.String getToken() {
    return this.token;
  }

  /**
   * 方法: 设置消息推送令牌
   *
   * @param token
   *          消息推送令牌
   */
  public void setToken(java.lang.String token) {
    this.token = token;
  }

  /**
   * 方法: 取得消息加密秘钥
   * 
   * @return 消息加密秘钥
   */
  @Column(name = "AES_KEY", nullable = true, length = 150)
  public java.lang.String getAesKey() {
    return this.aesKey;
  }

  /**
   * 方法: 设置消息加密秘钥
   *
   * @param aesKey
   *          消息加密秘钥
   */
  public void setAesKey(java.lang.String aesKey) {
    this.aesKey = aesKey;
  }

  /**
   * 方法: 是否为当前用户
   *
   * @param
   */
  @Column(name = "is_current_account", length = 32)
  public java.lang.Boolean getIsCurrentAccount() {
    return isCurrentAccount;
  }

  public void setIsCurrentAccount(java.lang.Boolean isCurrentAccount) {
    this.isCurrentAccount = isCurrentAccount;
  }
}
